#ifndef JOUEUR_H_
#define JOUEUR_H_

#include <iostream>

using namespace std;

/*!
 *
 * \class Joueur
 * \brief Regroupe des informations sur les joueurs de la partie.
 * \date 2007
 *
 * Ces données sont les maillons de la liste de joueurs.
 *
 */
class Joueur
{
	private:
	string nickname; /*!< Pseudo du joueur */
	int id; /*!< Identifiant du joueur */
	int x, y; /*!< Coordonnées du joueur */
	string ip; /*!< Adresse IP du joueur */
	string type; /*!< Type du joueur (pacman ou fantôme) */
	
	public:
	/*!
	 * \brief Constructeur.
	 * \param nickname Pseudo du joueur.
	 * \param id L'identifiant du joueur.
	 * \param ip L'adresse IP du joueur.
	 * \param type Le type du joueur (pacman ou fantôme).
	 * \param x L'abscisse du joueur.
	 * \param y L'ordonnée du joueur.
	 */
	Joueur(string nickname, int id, string ip, string type, int x, int y);
	
	/*!
	 * 
	 * \brief Destructeur
	 * 
	 */
	~Joueur();








				//
				// Accesseurs.
				//


	/*!
	 *
	 * \brief Accesseur au pseudo du joueur.
	 * \return Le pseudo du joueur.
	 *
	 */
	string getNickname();

	/*!
	 *
	 * \brief Accesseur au pseudo du joueur.
	 * \return L'identifiant du joueur.
	 *
	 */
	int getID();

	/*!
	 *
	 * \brief Accesseur a l'abscisse.
	 * \return L'abscisse du joueur.
	 *
	 */
	int getX();

	/*!
	 *
	 * \brief Accesseur a l'ordonnée.
	 * \return L'ordonnée du joueur.
	 *
	 */
	int getY();

	/*!
	 *
	 * \brief Accesseur à l'adresse IP du joueur.
	 * \return L'adresse IP du joueur.
	 *
	 */
	string getIP();

	/*!
	 * 
	 * \brief Accesseur au type du joueur (pacamn ou fantôme).
	 * \return Le type du joueur (pacman ou fantôme).
	 *
	 */	
	string getType();








				//
				// Setteurs.
				//


	/*!
	 *
	 * \brief Setteur au pseudo du joueur.
	 * \param id L'identifiant du joueur.
	 *
	 */
	void setID(int id);

	/*!
	 *
	 * \brief Setteur de l'abscisse.
	 * \param x L'abscisse du joueur.
	 * 
	 */
	void setX(int x);

	/*!
	 *
	 * \brief Setteur de l'ordonnée.
	 * \param y L'ordonnée du joueur. 
	 *
	 */
	void setY(int y);

	/*!
	 *
	 * \brief Setteur du pseudo du joueur.
	 * \param nickname Le pseudo du joueur.
	 *
	 */
	void setNickname(string nickname);

	/*!
	 *
	 * \brief Setteur de l'adresse IP du joueur.
	 * \param ip L'adresse IP du joueur/ 
	 * 
	 */
	void setIP(string ip);

	/*!
	 *
	 * \brief Setteur du type du joueur.
	 * \param type Le type du joueur (pacman ou fantôme). 
	 *
	 */	
	void setType(string type);
};

#endif /*JOUEUR_H_*/
